package com.example.designpatterns.behavioral.visitor;

/**
 * 访问者接口
 *
 * @author scott
 */
public interface Visitor {

    /**
     * 访问具体元素：电子产品
     *
     * @param product 具体元素：电子产品
     */
    void visitElectronicsProduct(ElectronicsProduct product);

    /**
     * 访问具体元素：家居用品
     *
     * @param product 具体元素：家居用品
     */
    void visitHomeProduct(HomeProduct product);

    /**
     * 访问具体元素：衣物
     *
     * @param product 具体元素：衣物
     */
    void visitClothingProduct(ClothingProduct product);

}
